//
//  AppStoreManager.h
//  emark
//
//  Created by 巩小鹏 on 2018/7/30.
//  Copyright © 2018年 neebel. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "AppStoreTool.h"
#import "UpdateView.h"

typedef NS_ENUM(NSInteger, AppStoreType){
    appStoreTypeNormal = 0,//不更新
    appStoreTypeNot = 1,//未上线
    appStoreTypeUpdata = 2,//更新
    appStoreTypeForceUpdata = 3,//强制更新
    appStoreTypeRequestError = 4,//请求错误
};

@interface AppStoreManager : NSObject

+(instancetype)defaultManager;

/**
 *  @brief isOpenUI 是否使用默认 YES
 */
@property (nonatomic,assign) BOOL  isOpenUI;
/**
 *  @brief appStoreUrl 跳转到appstore指定app更新的地址
 */
@property (nonatomic,copy) NSString * appStoreUrl;
/**
 *  @brief contentText 更新的内容 （必填）
 */
@property (nonatomic,copy) NSString * contentText;
/**
 *  @brief appVersion 当前版本号（可不填）
 */
@property (nonatomic,copy) NSString * appVersion;
/**
 *  @brief appVersion 最大版本号（必填）
 */
@property (nonatomic,copy) NSString * MaxVersion;
/**
 *  @brief appVersion 最小版本号（必填）
 */
@property (nonatomic,copy) NSString * MinVersion;



/**
 *  初始化更新数据 （使用这个方法，以上数据可不填）
 *
 *  @param MaxVersion       最大版本号
 *  @param MinVersion       最小版本号
 *  @param contentText      更新内容
 *
 *  @param appStoreUrl    跳转到appstrore地址
 *  @param complete     返回AppStoreType状态
 *
 */

-(void)initWithMaxVersion:(NSString *)MaxVersion
          MinVersion:(NSString *)MinVersion
          contentText:(NSString *)contentText
          appStoreUrl:(NSString *)appStoreUrl
        complete:(void (^)(AppStoreType appStoreType))complete;


/**
 *  @author Roger, 19-06-15 16:09:45
 *
 *  @brief  网络获取appstore版本号进行比对是否更新
 *
 *  @param appID        appStoreID里创建的ID
 *  @param complete     返回AppStoreType状态
 */
- (void)updateVersionWithAppID:(NSString *)appID complete:(void (^)(AppStoreType appStoreType))complete;
/**
 *  @author Roger, 19-06-15 16:09:45
 *
 *  @brief  版本号进行比对是否更新
 *
 *  @param appVersion   更新版本号
 *  @param complete     返回AppStoreType状态
 */
- (void)updateAppVersion:(NSString *)appVersion complete:(void (^)(AppStoreType appStoreType))complete;

/**
 *  @author Roger, 19-06-15 16:09:45
 *
 *  @brief  自定义更新状态.（配合 AppstoreTool 获取更新状态方法使用）
 *
 *  @param versionType  设定的更新状态 例如：0不提醒，1提醒更新，2强制更新
 *  @param complete     返回AppStoreType状态
 */
- (void)updateAppVersionType:(NSString *)versionType complete:(void (^)(AppStoreType appStoreType))complete;


@end
